package com.cn.serverline.lineicp.workshopPlan.entity;

import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 耗材类型实例类
 *
 * @author 田江余
 * @date 2024年7月29日
 */
@TableName("PLAN_TYPES_OF_CONSUMABLES")
@Data
@EqualsAndHashCode(callSuper = true)
public class TypesOfConsumables extends BaseEntity {

    /**
     * id
     */
    @TableId(value = "ID", type = IdType.ASSIGN_ID)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @JsonSerialize(using = ToStringSerializer.class)
    @ChineseDescription("id")
    private Long id;

    /**
     * 类型编号
     */
    @TableField("CODE")
    @ChineseDescription("类型编号")
    private String code;

    /**
     * 类型名称
     */
    @TableField("NAME")
    @ChineseDescription("类型名称")
    private String name;

    /**
     * 当前库存
     */
    @TableField("CURRENT_INVENTORY")
    @ChineseDescription("当前库存")
    private Long currentInventory;

    /**
     * 库存上限
     */
    @TableField("INVENTORY_CEILING")
    @ChineseDescription("库存上限")
    private Long inventoryCeiling;

    /**
     * 库存下限
     */
    @TableField("INVENTORY_LOWER_LIMIT")
    @ChineseDescription("库存下限")
    private Long inventoryLowerLimit;

    /**
     * 预警
     */
    @TableField("EARLY_WARNING")
    @ChineseDescription("预警")
    private Long earlyWarning;

    /**
     * 备注
     */
    @TableField("REMARK")
    @ChineseDescription("备注")
    private String remark;
}
